﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SISTEMA_ALPROVIDE.Bean;
using SISTEMA_ALPROVIDE.Service;

namespace SISTEMA_ALPROVIDE
{
    public partial class Busqueda_Producto : Form
    {
        public Producto producto = new Producto();
        public ServiceProducto serviceProducto = new ServiceProducto();

        public Busqueda_Producto()
        {
            InitializeComponent();
        }

        private void label11_Click(object sender, EventArgs e)
        {

        }

        private void textBox8_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox9_TextChanged(object sender, EventArgs e)
        {

        }

        private void label9_Click(object sender, EventArgs e)
        {

        }

        private void label10_Click(object sender, EventArgs e)
        {

        }

        private void textBox7_TextChanged(object sender, EventArgs e)
        {

        }

        private void groupBox2_Enter(object sender, EventArgs e)
        {

        }

        private void button4_Click(object sender, EventArgs e)
        {
            string nombre = textBox12.Text;
            int codigo;
            if (string.IsNullOrEmpty(textBox11.Text))
            {
                codigo = 0;
            }
            else {
                codigo = Convert.ToInt32(textBox11.Text);
            }
            
            int tipoProducto = Convert.ToInt32(comboBox1.SelectedValue);

            List<Producto> listaProducto = new List<Producto>();

            listaProducto = serviceProducto.ObtenerProducto(nombre, codigo, tipoProducto);

            dataGridView1.DataSource = listaProducto;

            dataGridView1.Columns[2].Visible = false;
            dataGridView1.Columns[7].Visible = false;
            dataGridView1.Columns[10].Visible = false;   
            //producto.IdProducto = Convert.ToInt32(textBox11.Text);
        }

        private void Busqueda_Producto_Load(object sender, EventArgs e)
        {
            List<TipoProducto> listatipoProducto = serviceProducto.ObtenerTipoProducto();

            comboBox1.DataSource = listatipoProducto;

            comboBox1.DisplayMember = "Descripcion";
            comboBox1.ValueMember = "IdTipoProducto";
        }

        private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex >= 0 && e.ColumnIndex >= -1 && e.Button == MouseButtons.Left) {
                //MessageBox.Show(e.RowIndex + " " + e.ColumnIndex);
                producto.IdProducto = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
                producto.NombreProducto = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[1].Value);
                producto.Peso = Convert.ToDouble(dataGridView1.Rows[e.RowIndex].Cells[2].Value);
                producto.Precio = Convert.ToDouble(dataGridView1.Rows[e.RowIndex].Cells[3].Value);
                producto.FechaFabricacion = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells[4].Value);
                producto.FechaVencimiento = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells[5].Value);
                producto.Marca = Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[6].Value);
                producto.IdTipoProducto = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[7].Value);
                producto.UnidadVenta= Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[8].Value);
                producto.Stock = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[9].Value);
                  
                tbxCodigo.Text = Convert.ToString(producto.IdProducto);
                tbxNombre.Text = producto.NombreProducto;
                tbxPrecio.Text = Convert.ToString(producto.Precio);
                tbxMarca.Text = producto.Marca;
                tbxTipo.Text = Convert.ToString(producto.IdTipoProducto);
                tbxUnidad.Text = producto.UnidadVenta;
                tbxStock.Text = Convert.ToString(producto.Stock);

            }
        }
    }
}
